The task of machine condition monitoring is to detect faults as early as possible to avoid further damage to a machine. That is usually done by analyzing data from a set of sensors, installed on different parts of a machine, for measuring temperature, pressure, vibrations, etc. When a machine works normally, the sensor data is located within a normal operating region. When the sensor data deviates much from that region, a fault may have occurred and an alarm should be made.
Sensor signals are often contaminated by noise. Removing noise and recovering the underlying true signals are fundamental tasks for machine condition monitoring. The present disclosure focuses on removing noise from a single sensor signal, but the proposed methodology is applicable to multiple signals.
In an exemplary system, there are t observed values y1, y2 . . . , yt from time stamp 1 to time stamp t for a sensor. Since yt is often corrupted by noise, it is of interest to estimate the true signal zt without noise. Example observed and true values for a sensor are shown in the graph 200 of FIG. 2, where the horizontal axis indicates time (with day as unit) and the vertical axis indicates sensor value. The curve 210 denotes the observed signals yt and the curve 220 denotes the noise-free signal zt.
Once the true signal zt is uncovered, fault detection may be performed using methods as simple as threshold-based rules. For example, if the example sensor is a pressure sensor and the pressure should never be larger than 0.5, the rule can be “IF zt>0.5, THEN this is a failure.” Using that rule, the sensor represented in FIG. 2 yields an alarm at about t=230.
That system may be improved, however, by detecting the upward trend earlier. For example, if the slope of zt at t=215 can be correctly estimated, then it is possible to predict at t=215 that zt will hit 0.5 at t=230. That technique produces an alarm 15 days earlier, which is a big benefit. The system therefore should estimate not only zt, but also its derivatives such as velocity and acceleration (and so on). Those quantities are denoted as żt and {umlaut over (z)}t, respectively. A vector is used to denote the above quantities of the true signal xt=[zt,żt,{umlaut over (z)}t]T. To create predictive alarms as described above, the vector xt must be estimated.
A filtering problem is defined as: given a series of observations y1, y2, . . . , yt (or y1:t), xt is estimated. A widely used filtering algorithm is the Kalman filter model, which is formulated as follows:xt=Axt−1+vt  (1)yt=Cxt+wt 
The first equation in (I) is a state evolution model. It specifies a linear relation between the current state xt and the previous state xt−1. The evolution matrix A is defined as
                              A          =                      [                                                            1                                                                      Δ                    ⁢                                                                                  ⁢                    t                                                                                        Δ                    ⁢                                                                                  ⁢                                                                  t                        2                                            /                      2                                                                                                                    0                                                  1                                                                      Δ                    ⁢                                                                                  ⁢                    t                                                                                                0                                                  0                                                  1                                                      ]                          ,                            (        2        )            
where Δt is the time difference between adjacent data points; in this case Δt=1 day. Note that Δt can vary if signals are sampled with a varying interval. This linear relation follows simple physics about displacement, velocity and acceleration; for example zt=zt−1+Δt·żt−1+Δt2/2·{umlaut over (z)}t−1, vt is the evolution error vector and has a Gaussian distribution with zero mean and diagonal covariance Q=diag([q1,q2,q3]). diag( ) is an operator transforming a vector into a diagonal matrix. q1, q2 and q3 correspond to the variances for zt, żt and {umlaut over (z)}t, respectively.
The second equation in (1) is called the observation model. It relates the state xt with the observation yt. The observation matrix C=[1 0 0], because only zt is observable. The observation noise wt has a Gaussian distribution with zero mean and variance r. Both evolution covariance Q and observation noise variance r are parameters for this Kalman filtering model and can be either specified or learned from training data.
Kalman filtering proceeds in an iterative fashion. Once a new observation yt is available, the filter updates its estimate or conditional probability of xt given y1:t. This can be proved to be single Gaussian distribution. Once the estimate for xt is obtained, a prediction is performed for a given future time T. Let Δt=T−t. We have zT=zt+Δt·żt+Δt2/2·{umlaut over (z)}t. By doing this, the true value of the sensor may be predicted at a future time stamp based on the information available only at the present time.
A filtering model such as the Kalman filtering model is widely used in many industrial applications with great success. In many real systems, however, the evolution of sensor signals is too complex to be described by a single filtering model. For example, in a non-steady mode of a machine, spikes or abrupt step changes are often observed in the sensor values. One example of a sensor output of such a system 500 is shown in FIG. 5. During spikes such as those at 521, 522, 523 and steps such as steps 511, 512, the true sensor signal changes dramatically in a short period, imposing a great challenge to the filtering algorithm.
There is therefore presently a need for an improved technique to filter sensor outputs in machine monitoring systems, for use in fault detection and predictive maintenance.